//
//  UITextField+Category.h
//  OCDemo
//
//  Created by zhumuzhi on 2021/7/17.
//

#import <UIKit/UIKit.h>
/**
 * 输入类型
 * TextFieldInputTypeDefault                默认输入
 * TextFieldInputTypePhoneNumber            号码
 * TextFieldInputTypeFormatedPhoneNumber    格式化的手机号（eg：150 1234 1234）
 * TextFieldInputTypeFormatedCardNumber     格式化的卡号（4位1空格）
 * TextFieldInputTypePrice                  货币金额（小数点后2位） 限制金额通过设置utils_maxValue
 * TextFieldInputTypeIdentityNo             身份证号码（最后一位可输入X）
 * TextFieldInputTypeNumberAuthCode         验证码 限制位数通过设置utils_limitLegnth
 * TextFieldInputTypePaymentPWD             支付密码 限制位数通过设置utils_limitLegnth
 */

typedef NS_ENUM(NSInteger, TextFieldInputType) {
    TextFieldInputTypeDefault = 0,
    TextFieldInputTypePhoneNumber = 1,
    TextFieldInputTypeFormatedPhoneNumber,
    TextFieldInputTypeFormatedCardNumber,
    TextFieldInputTypePrice,
    TextFieldInputTypeIdentityNo,
    TextFieldInputTypeNumberAuthCode,
    TextFieldInputTypePaymentPWD,
};


NS_ASSUME_NONNULL_BEGIN

@interface UITextField (Category)

/**
 * 输入类型
 */
@property (assign, nonatomic) TextFieldInputType utils_inputType;

/**
 * 最大输入长度限制
 */
@property (assign, nonatomic) NSInteger utils_limitLegnth;

/**
 * 最大输入值限制，在HCTextFieldInputTypePrice有效
 */
@property (assign, nonatomic) double utils_maxValue;

/**
 * 判断实现方法-UITextFildeDelegate中的shouldChangeCharactersInRange方法调用
 */
- (BOOL)utils_shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string;

@end

NS_ASSUME_NONNULL_END
